Desktop Communication Protocol
   HOME

TheInfoList



OR:

Desktop Communication Protocol (DCOP) was an
inter-process communication In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categori ...
(IPC)
daemon Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and mythology and of later Hellenistic religion and philosophy. The word ...
by
KDE KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-known products include the ...
used in
K Desktop Environment 3 K Desktop Environment 3 is the third series of releases of the K Desktop Environment (after that called ''KDE Software Compilation''). There are six major releases in this series. After the release of KDE 4, version 3.5 was forked into the Trinit ...
. The design goal for the protocol was to allow
applications Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
to interoperate, and share complex tasks. Essentially, DCOP was a ‘remote control’ system, which allowed applications or scripts to enlist the help of other applications. DCOP is built on top of the X11 Inter-Client Exchange protocol. DCOP continues to be used by the K Desktop Environment 3-fork
Trinity Desktop Environment The Trinity Desktop Environment (TDE) is a complete software desktop environment designed for Linux and Unix-like operating systems, intended for computer users preferring a traditional desktop model, and is free/libre software. Born as a for ...
. DCOP was replaced by
D-Bus In computing, D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, ...
, a message bus system heavily influenced by the DCOP and standardized by
freedesktop.org freedesktop.org (fd.o) is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. It was founded by Hav ...
, in
KDE Software Compilation 4 KDE Software Compilation 4 (KDE SC 4) was the only series of the so-called KDE Software Compilation (short: KDE SC), first released in January 2008 and the last release being 4.14.3 released in November 2014. It was the follow-up to K Desktop En ...
and later.


DCOP model

DCOP implements the
client–server model The client–server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over ...
, where each application using DCOP is a client and communicates with other clients through the DCOP server. DCOP server functions like a traffic director, dispatching messages/calls to the proper destinations. All clients are peers of each other. Two types of actions are possible with DCOP: "send and forget" messages, which do not block, and "calls," which block waiting for some data to be returned. Any data that will be sent is serialized (also referred to as '' marshalling'' in
CORBA The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sys ...
speak) using the built-in QDataStream operators available in all of the Qt classes. There is also a simple IDL-like compiler available (dcopidl and dcopidl2cpp) that generates stubs and skeletons. Using the dcopidl compiler has the additional benefit of
type safety In computer science, type safety and type soundness are the extent to which a programming language discourages or prevents type errors. Type safety is sometimes alternatively considered to be a property of facilities of a computer language; that is ...
. There is a command-line tool called ‘dcop’ (note the lower-case letters) that can be used for communication with the applications from the shell. ‘kdcop’ is a
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
tool to explore the
interfaces Interface or interfacing may refer to: Academic journals * Interface (journal), ''Interface'' (journal), by the Electrochemical Society * ''Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Lin ...
of an application.


See also

*
KDELibs KDE Platform 4 was a collection of libraries and software frameworks by KDE that served as technological foundation for KDE Software Compilation 4 distributed under the GNU Lesser General Public License (LGPL). KDE Platform 4 was the successor to ...
– predecessor of KDE Platform 4


External links


DCOP Documentation
{{KDE Inter-process communication KDE Platform Software that uses Qt